<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>

    // ajax({
    //     url:"",
    //     data:{},
    //     timeout:100,
    //     type:"get"
    // }).then(res=>{
    //     console.log(res);
    // }).catch(code=>{
    //     console.log(code);
    // })

    function ajax({url="",data={},timeout=50000,type="get"}={}){
        let str = "";
        for(let i in data){
            str += `${i}=${data[i]}&`
        }
        str = str.slice(0,-1);
        if(type.toLowerCase() === "get"){
            url += "?" + str;
        }
        const xhr = new XMLHttpRequest();
        xhr.timeout = timeout;
        xhr.open(type, url, true);
        if(type.toLowerCase() === "get"){
            xhr.send();
        }else{
            xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xhr.send(str);
        }
        return new Promise((success, error)=>{
            xhr.onload = function(){
                if(xhr.status === 200){
                    success && success(xhr.responseText);
                }else{
                    error && error(xhr.status);
                }
            }
            xhr.ontimeout = function(){
                error && error("timeout");
                xhr.abort();
            }
        })
    }
</script>
</html>